package com.sjm.learn.jdk8;

import java.util.Arrays;

public class LambdaDemo1 {

	public static void main(String[] args) {
//		dome1();
		dome2();
		dome3();
	}

	public static void dome1(){
		String separator = ",";
		Arrays.asList( "a", "b", "d" ).forEach( 
    		( String e ) -> System.out.println( e + separator ) );
	}
	
	public static void dome2(){
		Arrays.asList( "a", "b", "d" ).sort( ( e1, e2 ) -> e1.compareTo( e2 ));
	}
	
	public static void dome3(){
//		String a = "d";
//		String b = "a";
//		System.out.println(a.compareTo(b));
//		Arrays.asList( "a", "b", "d", "c" ).sort( ( e1, e2 ) -> {
//			//b a;d b;c d;c b;c d
//			int result = e1.compareTo( e2 );
//			System.out.print(e1);
//			System.out.print(e2);
//			System.out.println(result);
//			return result;
//		});
		
//		Arrays.asList( "a", "b", "c", "e" ).sort( ( e1, e2 ) -> {
//			//b a;c b;c d;e c
//			int result = e1.compareTo( e2 );
//			System.out.print(e1);
//			System.out.print(e2);
//			System.out.println(result);
//			return result;
//		});
		
//		Arrays.asList( "a", "b", "d", "c", "e" ).sort( ( e1, e2 ) -> {
//			//a b c d e
//			//b a;d b;c b;c d;e c;e d
//			int result = e1.compareTo( e2 );
//			System.out.print(e1);
//			System.out.print(e2);
//			System.out.println(result);
//			return result;
//		});
		
		Arrays.asList( "d", "a", "b", "c", "e" ).sort( ( e1, e2 ) -> {
			//a b c d e
			//a d;b a;b d;b a;c b;c d;e c;e d
			int result = e1.compareTo( e2 );
			System.out.print(e1);
			System.out.print(e2);
			System.out.println(result);
			return result;
		});
	}
}
